final float endRadius = calcEndRadius();
if (mClipValueAnimator == null) {
mClipValueAnimator = ObjectAnimator.ofFloat(clipStartRadius, endRadius);
mClipValueAnimator.setInterpolator(new DecelerateInterpolator());
mClipValueAnimator.setDuration(getResources().getInteger(android.R.integer.config_longAnimTime));
mClipValueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
private void initAnimator() {
final float endRadius = calcEndRadius();
// if (mClipValueAnimator == null) {
mClipValueAnimator = ObjectAnimator.ofFloat(clipStartRadius, endRadius);
mClipValueAnimator.setInterpolator(new LinearInterpolator());
// mClipValueAnimator.setDuration(getResources().getInteger(android.R.integer.config_longAnimTime));
mClipValueAnimator.setDuration(ANIM_TIME);
mClipValueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {